#ifndef __ANDROID__VIDEO__CAPTURE__H__
#define __ANDROID__VIDEO__CAPTURE__H__

#include "VideoCapture.h"
#include <memory>
#include "jni_utils.h"

namespace simple_renderer{

class AndroidVideoCapture : public VideoCapture{
public:
    AndroidVideoCapture();
    virtual ~AndroidVideoCapture();

    void SetVideoCapture(std::unique_ptr<JavaGlobalRef<jobject>> &video_capture){
        _video_capture = std::move(video_capture);
    }

    virtual int AllocCapture();
    virtual int DeallocCapture();

    virtual int StartCapture();
    virtual int StopCapture();

protected:
    std::unique_ptr<JavaGlobalRef<jobject>> _video_capture;
};

}
#endif